The present invention relates to information processing and particularly to creating dynamic interactive reports.
Relational database systems are well-known in the prior art, and include tabular structures and structured query languages used for database queries. To aid in an understanding of the present invention, a glossary of terms is included hereinbelow. Relational database technology has made possible an independence between the way data is physically stored and the way it can be handled logically. Relational technology has been widely accepted in business, industry and engineering as valuable for storing data.
Database systems may also be implemented in technology termed OLAP (On-Line Analytical Processing). A key feature of OLAP is a multidimensional view of data. These databases expose data not as entities and associations, as does a Relational Database System, but as sets of values organized in a so-called hypercube. This hypercube structure allows for easy access to data along different dimensions. For instance, a multidimensional database can organize numeric data along three dimensions: Product, Geography, Measures. The product dimension reflects the hierarchy of products in the organization, for example, Consumer and Enterprise products being further divided into more precise product categories down to the final product SKU. The Geography dimension will reflect the corporate organization from the entire company to countries to sales district or ZIP codes. Last, the Measures dimension captures more or less detailed sources of income and expenses, such as sales revenue, maintenance revenue (that may be grouped in a common “revenue” category), or operational expenses. These three dimensions define a system of coordinates. For each valid set of coordinates in this system such as, for example, “All Products,” “US,” “Revenue,” the multidimensional database is able to retrieve a single value (numeric in most cases) that represents the aggregated value of the specified measure for the specified dimension coordinates.
Another feature of OLAP is various analysis models such as parameterized static reporting, slicing and dicing with drill down, “what if” analysis and goal seeking models. These analysis models are provided by standard OLAP tools. These tools serve analytical purposes such as allowing users to select which coordinates in which dimension they want to consider, and must often prompt the user interaction with data through a user interface component called a “grid.” A grid allows for easy navigation in a multimensional cube and enables “drill-down” (descending the hierarchy in a dimension and getting a more detailed view of the data).
From a user perspective, a most important feature of database management software is the user interface and reporting capability. Reports generally present results in user friendly formats, such as graphs, tables, crosstabs, or forms. A novel technique for providing a semantic layer for interpreting and interacting with a relational database is disclosed in commonly assigned U.S. Pat. No. 5,555,403 entitled “Relational Database Access System Using Semantically Dynamic Objects,” which is hereby incorporated by reference for all purposes.
OLAP products generally provide powerful analytical and navigation tools such as drill down/up, rotation, and slicing and dicing data to provide different views of the data. However, the reporting capabilities of these products are not well developed.
Glossary:
The following is a glossary of some of the terms used in these technologies.
    Data: Raw facts or values which are physically recorded and which can be extracted and objectively verified    Information: Anything learned from data, the “meaning” of the data.    Value: An amount of worth    Database: A computerized collection of data    Relational Database: A database in which all data are stored and organized in tables and in which each field containing a datum is equally accessible.    Relational Database Management System (RDBMS): The software environment supporting a Relational database.Relational Database Terms:    Record: A collection of fields; the basic accessible element of a file.    Field: An elemental entity of a record.    Relation: An orderly arrangement of data in columns and rows; a table.    Attribute: A column of a relation, a field of a Tuple.    Tuple: A record of a relational database; one line or row of a table or relation.    Relational Structure: Set of Relations definitionsBusiness Objects Specific Terms:    Infocenter: Environment in which the Users, without any technical knowledge, have “self-service” access to the information system, in a manner controlled by MIS staff.    Universe: An easy-to-understand partial or total representation of the database, designed for a particular application or group of users.    Business Objects: Objects corresponding to concepts close to the user's everyday business. They are defined by the Infocenter Manager and are the basic elements of a Universe.    Context: set of logical equations linking tables (joins) providing a closed graph of table.OLAP Terms:    Metadata: Data about data. How the structure and calculation rules are stored, plus, optionally, additional information on data sources, definitions, transformations, quality, date of last update, user privilege information, etc.    Hypercube: An OLAP product that has all data stored in a single cube that has all dimensions applied to it.    Dimension: A structural attribute of a cube which is a list of members, all of which are a similar type in the user's perception of the data. A dimension acts an index for identifying values in a multi-dimensional array.    Cell: A single data point that arises by selecting one member from each dimension of a multi-dimensional array.
Minicube. A subset of the hypercube with fewer dimensions than the encompassing hypercube.    Multi-Dimensional Array: A group of cells arranged by the dimensions of the data.    Drill Up/Down: Drilling up or down is a specific analytical technique whereby the user navigates among levels of data ranging from the most summarized (up) to the most detailed (down).    Slice: A subset of a multi-dimensional array corresponding to a single value of one or more dimensions not in the subset.    Slice and Dice: A method of navigating by calling for page displays interactively through the specification of slices via rotations and drill down/up.